package field

import "gitee.com/yanwc/net/utils"

// field 8 U1
type (
	YktHelmetFault_1    U1    // 亚科特智能头盔锁故障信息
	YktHelmetFaultRaw_1 U1Raw // 亚科特智能头盔锁故障信息
)

// bit0,bit3~7预留

const (
	YktHelmetLockFault_1   YktHelmetFault_1 = 0b0000_0010 // 头盔锁上锁故障
	YktHelmetUnLockFault_1 YktHelmetFault_1 = 0b0000_0100 // 头盔锁解锁故障
)

func (y YktHelmetFault_1) Raw() (out YktHelmetFaultRaw_1) {
	copy(out[:], utils.NumberToBytesWithBigEndian(y))
	return
}

func (y YktHelmetFaultRaw_1) Type() YktHelmetFault_1 {
	return utils.BytesToNumber[YktHelmetFault_1](y[:])
}

func (y YktHelmetFault_1) Fault(v YktHelmetFault_1) bool {
	return y&v == y
}

func (y YktHelmetFaultRaw_1) Slice() []byte {
	return y[:]
}
